#pragma once

#include <TrueText/TextMetrics.h>
#include <TrueText/TextLayout.h>
#include <boost/smart_ptr/shared_ptr.hpp>

namespace TrueText {

class FontImpl;

struct AtlasLayout
{
	boost::shared_ptr<TextLayout> Layout;
	boost::shared_ptr<AtlasMetrics> Metrics;
};

class AtlasLayouter
{
public:
	AtlasLayouter(boost::shared_ptr<FontImpl> font)
		: font(font)
	{ }

	boost::shared_ptr<AtlasLayout> Layout(int clipWidth, const wchar_t* text);
private:
	boost::shared_ptr<FontImpl> font;
};

} // namespace TrueText